package com.zhiche.lisa.bms.pojo.vo.psup;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author linbao
 * @date 2019-06-19
 */
@Data
@ToString
@ApiModel(value = "PsupTraditionPriceVO", description = "人送传统价格VO")
public class PsupTraditionPriceVO {

    private Long id;
    /**
     * 车队id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long fleetId;
    /**
     * 车队名称
     */
    @ApiModelProperty(value = "车队名称", name = "fleetName", dataType = "String")
    private String fleetName;
    /**
     * 起运省
     */
    @ApiModelProperty(value = "起运省", name = "startProvince", dataType = "String")
    private String startProvince;
    /**
     * 起运市
     */
    @ApiModelProperty(value = "起运市", name = "startCity", dataType = "String")
    private String startCity;
    /**
     * 起运区
     */
    @ApiModelProperty(value = "起运区", name = "startCounty", dataType = "String")
    private String startCounty;
    /**
     * 起运地名称
     */
    @ApiModelProperty(value = "起运地名称", name = "startName", dataType = "String")
    private String startName;
    /**
     * 目的地运省
     */
    @ApiModelProperty(value = "目的地运省", name = "endProvince", dataType = "String")
    private String endProvince;
    /**
     * 目的地运市
     */
    @ApiModelProperty(value = "目的地运市", name = "endCity", dataType = "String")
    private String endCity;
    /**
     * 目的地运区
     */
    @ApiModelProperty(value = "目的地运区", name = "endCounty", dataType = "String")
    private String endCounty;
    /**
     * 目的地运地名称
     */
    @ApiModelProperty(value = "目的地运地名称", name = "endName", dataType = "String")
    private String endName;
    /**
     * 里程
     */
    @ApiModelProperty(value = "里程", name = "mileage", dataType = "BigDecimal")
    private BigDecimal mileage;
    /**
     * 单价
     */
    @ApiModelProperty(value = "单价", name = "price", dataType = "BigDecimal")
    private BigDecimal price;
    /**
     * 合同车型名称
     */
    @ApiModelProperty(value = "合同车型名称", name = "contractVehicle", dataType = "String")
    private String contractVehicle;
    /**
     * 状态; 0-新增, 1-已审核, 2-审核失败
     */
    @ApiModelProperty(value = "状态; 0-新增, 1-已审核, 2-审核失败", name = "status", dataType = "Integer")
    private Integer status;
    /**
     * 状态; 0-新增, 1-已审核, 2-审核失败
     */
    @ApiModelProperty(value = "状态; 0-新增, 1-已审核, 2-审核失败", name = "statusStr", dataType = "String")
    private String statusStr;
    /**
     * 审核失败原因
     */
    @ApiModelProperty(value = "审核失败原因", name = "auditReason", dataType = "String")
    private String auditReason;
    /**
     * 生效日期
     */
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "生效日期", name = "effectiveDate", dataType = "Date")
    private Date effectiveDate;
    /**
     * 生效日期
     */
    @ApiModelProperty(value = "生效日期", name = "effectiveDateStr", dataType = "String")
    private String effectiveDateStr;
    /**
     * 失效日期
     */
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "失效日期", name = "invalidDate", dataType = "Date")
    private Date invalidDate;
    /**
     * 失效日期
     */
    @ApiModelProperty(value = "失效日期", name = "invalidDateStr", dataType = "String")
    private String invalidDateStr;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", name = "creator", dataType = "Long")
    private Long creator;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间", name = "gmtCreate", dataType = "Date")
    private Date gmtCreate;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", name = "creatorName", dataType = "String")
    private String creatorName;
    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人", name = "activitiName", dataType = "String")
    private String activitiName;
}
